4 large eggs
1 cup milk or water
1 tablespoon Kosher salt
1 tsp. Pepper
3 cups AP flour
Spaetzle Maker*
Pot with a top that will accommodate the spaetzle maker comfortably without it falling off
Small baking tray
6 tablespoons softened unsalted butter in a large bowl
Spatula
For cheese spaetzle:
1 large onion, diced
4-6 slices of bacon, diced
2 ounces each of cheddar, mozzarella, and gouda or preferred cheeses
1/2 cup cream
Large Cast iron pan or skillet
Oil or fat
Parsley
Although spätzle or spaetzle is the most common name for this in the US and it is thought of as a German noodle, it is actually popular all over Europe under slightly different names and its origin is unknown.
It is traditionally served with meat and gravy or as käsespätzle (cheese spaetzle).
Whisk (or use the whisk attachment on your mixer) the milk, eggs, pepper, and salt until well mixed. Mix in the flour a big spoonful at a time, then continue to mix until the batter is smooth. It should be like a thick waffle batter; adjust the flour or liquid if the consistency isn't right.
Cover the bowl and let the batter rest for 30 minutes.
Bring a large pot of salted water to a boil.
Put your butter in a large bowl.
Set the spaetzle maker on top of the tray when you are not using it, to avoid making a mess on your counter.
Set the spaetzle maker on top of the pot, fill the box, and slide the box back and forth over the holes. Once all the batter is in the pot, move the spaetzle maker to the tray.
Let the spaetzle float around in the pot for 3 minutes, then use a slotted spoon or spider to move it to your large bowl. Use a spatula to toss and gently coat in butter.
Move the spaetzle maker back to the pot, fill the box with more batter and repeat.
Sprinkle with parsley and serve with the meat and gravy of your choice, or make into cheese spaetzle.
Cheese Spaetzle:
Drizzle oil or add fat to your pan and heat over medium heat. When it is hot add the onions and cook until translucent. Add the bacon and cook until browned. Turn down the heat if needed to keep anything from burning.
Turn the heat to low. Use a paper towel to remove excess fat if necessary. Add as much of the spaetzle as will comfortably fit in the pan, allowing you to stir without spilling. Stir everything together. Pour in the cream and sprinkle in the cheese.
Stir frequently, but gently, and cook until the cheese is mostly melted. Pour the mixture into the bowl with any remaining spaetzle and stir together. Sprinkle with parsley. Serve alone or with a salad or steamed broccoli. 
*The type that looks like a box over a cheese grater.